package algorithm;

public class leetcode_0005 {
    public static void main(String[] args) {

    }
    public String longestPalindrome(String s) {
        int len=s.length();
        char[]list=s.toCharArray();
        int maxlen=1;
        int begin=0;
        if(len==1){
            maxlen=len;
        }
        else if(len==2){
            if(list[0]==list[1]){
                maxlen=2;
            }
        }
        else{
        for(int i=1;i<len-1;++i){

            for(int j=1;j<len;++j){
                if(i-j>=0 && i+j<len){
                    if(list[i-j]==list[i+j]){
                        if(1+2*j>maxlen) {
                            begin = i-j;
                            maxlen = 1 + 2 * j;
                        }
                    }
                    else break;
                }
                else break;
            }
        }
        for(int i=0;i<len-1;++i){
            if(list[i]!=list[i+1]) continue;
            for(int j=0;j<len;++j){
                if(i-j>=0 && i+1+j<len){
                    if(list[i-j]==list[i+1+j]){
                        if(2+2*j>maxlen){
                            begin=i-j;
                            maxlen=2+2*j;
                        }
                    }
                    else break;
                }
                else break;
            }
        }}
        return s.substring(begin,begin+maxlen);
    }
}
